﻿using System;

namespace QuickDev.Model
{
    /// <summary>
    /// <para>ReturnOrderHeader Object</para>
    /// </summary>
    [Serializable]
    public class ReturnOrderHeader
    {
        #region Private Fields
        private int _id;
        private string _returnOrderNumber;
        private int _returnOrderStatusId;
        private string _wangWangId;
        private string _customerName;
        private string _customerCellphone;
        private string _customerAddress;
        private int _createdBy;
        private int _updatedBy;
        private DateTime _createdOn;
        private DateTime _updatedOn;
        private Guid _rOWGUID = Guid.Empty;
        #endregion

        #region Public Properties

        ///<summary>
        ///Id
        ///</summary>
        public int Id
        {
            get { return _id; }
            set { _id = value; }
        }

        ///<summary>
        ///ReturnOrderNumber
        ///</summary>
        public string ReturnOrderNumber
        {
            get { return _returnOrderNumber; }
            set { _returnOrderNumber = value; }
        }

        ///<summary>
        ///ReturnOrderStatusId
        ///</summary>
        public int ReturnOrderStatusId
        {
            get { return _returnOrderStatusId; }
            set { _returnOrderStatusId = value; }
        }

        ///<summary>
        ///WangWangId
        ///</summary>
        public string WangWangId
        {
            get { return _wangWangId; }
            set { _wangWangId = value; }
        }

        ///<summary>
        ///CustomerName
        ///</summary>
        public string CustomerName
        {
            get { return _customerName; }
            set { _customerName = value; }
        }

        ///<summary>
        ///CustomerCellphone
        ///</summary>
        public string CustomerCellphone
        {
            get { return _customerCellphone; }
            set { _customerCellphone = value; }
        }

        ///<summary>
        ///CustomerAddress
        ///</summary>
        public string CustomerAddress
        {
            get { return _customerAddress; }
            set { _customerAddress = value; }
        }

        ///<summary>
        ///CreatedBy
        ///</summary>
        public int CreatedBy
        {
            get { return _createdBy; }
            set { _createdBy = value; }
        }

        ///<summary>
        ///UpdatedBy
        ///</summary>
        public int UpdatedBy
        {
            get { return _updatedBy; }
            set { _updatedBy = value; }
        }

        ///<summary>
        ///CreatedOn
        ///</summary>
        public DateTime CreatedOn
        {
            get { return _createdOn; }
            set { _createdOn = value; }
        }

        ///<summary>
        ///UpdatedOn
        ///</summary>
        public DateTime UpdatedOn
        {
            get { return _updatedOn; }
            set { _updatedOn = value; }
        }

        ///<summary>
        ///ROWGUID
        ///</summary>
        public Guid ROWGUID
        {
            get { return _rOWGUID; }
            set { _rOWGUID = value; }
        }
        #endregion

        #region Relations

        private ReturnOrderHeader _Prev;
        /// <summary>
        /// Gets the previous post relative to this one based on time.
        /// <remarks>
        /// If this post is the oldest, then it returns null.
        /// </remarks>
        /// </summary>
        public ReturnOrderHeader Previous
        {
            get { return _Prev; }
            set { _Prev = value; }
        }

        private ReturnOrderHeader _Next;
        /// <summary>
        /// Gets the next post relative to this one based on time.
        /// <remarks>
        /// If this post is the newest, then it returns null.
        /// </remarks>
        /// </summary>
        public ReturnOrderHeader Next
        {
            get { return _Next; }
            set { _Next = value; }
        }

        #endregion
    }
}
